home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / OWLSRC.PAK / WINMAIN.CPP < prev    next >
C/C++ Source or Header  |  1997-05-06  |  2KB  |  50 lines

  1. //----------------------------------------------------------------------------
  2. // ObjectWindows
  3. // Copyright (c) 1991, 1997 by Borland International, All Rights Reserved
  4. //
  5. //$Revision:   10.8  $
  6. //
  7. // Implementation of WinMain for user exes
  8. //----------------------------------------------------------------------------
  9. #include <owl/pch.h>
  10. #if !defined(OWL_APPLICAT_H)
  11. # include <owl/applicat.h>
  12. #endif
  13. #if !defined(WINSYS_LCLSTRNG_H)
  14. # include <winsys/lclstrng.h>
  15. #endif
  16.  
  17. OWL_DIAGINFO;
  18. DIAG_DECLARE_GROUP(OwlMain);
  19.  
  20. //
  21. // Default WinMain calls OwlMain, after setting params into TApplication
  22. //
  23. int PASCAL
  24. WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char far* cmdLine, int cmdShow)
  25. {
  26.   TRACEX(OwlMain, 0, "WinMain(" << hex << uint(hInstance) << ", " <<
  27.                                   hex << uint(hPrevInstance) << ", \"" <<
  28.                                   TResId(cmdLine) << "\", " <<
  29.                                   cmdShow << ") called");
  30.  
  31.   // If no global ::Module ptr exists yet, provide a default now
  32.   //
  33.   if (!::Module) {
  34.     static TModule module(0, hInstance);
  35.     ::Module = &module;
  36.   }
  37.  
  38.   TApplication::SetWinMainParams(hInstance, hPrevInstance, cmdLine, cmdShow);
  39.   TRY {
  40. #if defined(BI_COMP_BORLANDC)
  41.     int retVal = OwlMain(_argc, _argv);
  42. #else
  43.     int retVal = OwlMain(__argc, __argv);
  44. #endif
  45.     TRACEX(OwlMain, 0, "WinMain() returns " << retVal);
  46.     return retVal;
  47.   }
  48.   CATCH( (xmsg& x) {return ::HandleGlobalException(x, 0);} )
  49. }
  50.